package com.ls.lserp.modules.trade.dao;

import java.util.List;

import com.ls.lserp.common.persistence.CrudDao;
import com.ls.lserp.common.persistence.annotation.MyBatisDao;
import com.ls.lserp.modules.order.entity.AuditInfo;
import com.ls.lserp.modules.order.entity.Order;
import com.ls.lserp.modules.trade.entity.CartonInfo;
import com.ls.lserp.modules.trade.entity.CustomEnchase;
import com.ls.lserp.modules.trade.entity.Enchase;

/**
 * @ClassName: EnchaseDao
 * @Description: 分类接口
 * 
 * @author 
 * @date 2017年3月24日 下午17:50:00
 *
 */
@MyBatisDao
public interface CustomEnchaseDao extends CrudDao<CustomEnchase> {
	
	/**
	  * @Title: findCartonInfoList
	  * @Description: 选择纸箱一览
	  * @param @param cartonInfo
	  * @param @return
	  * @return List<CartonInfo> 
	  * @throws
	  */
	public List<CartonInfo> findCartonInfoList(CartonInfo cartonInfo);
	
	/**
	  * @Title: findIndentList
	  * @Description: 订单一览
	  * @param @param enchase
	  * @param @return
	  * @return List<Enchase> 
	  * @throws
	  */
	public List<CustomEnchase> findIndentList(CustomEnchase enchase);
	
	/**
	  * @Title: findSizeList
	  * @Description: 所有尺码一览
	  * @param @param enchase
	  * @param @return
	  * @return List<Enchase> 
	  * @throws
	  */
	public List<CustomEnchase> findSizeList(CustomEnchase enchase);
	
	/**
	 * 装箱单信息表
	 * @param enchase
	 * @return
	 */
	public int insertPackage(CustomEnchase enchase);
	
	/**
	 * 装箱单信息表
	 * @param enchase
	 * @return
	 */
	public int insertPackageDetail(CustomEnchase enchase);
	
	/**
	  * @Title: findPackageDetailsList
	  * @Description: 箱单一览
	  * @param @param enchase
	  * @param @return
	  * @return List<Enchase> 
	  * @throws
	  */
	public List<CustomEnchase> findPackageDetailsList(CustomEnchase enchase);
	
	/**
	  * @Title: deletePackageDetails
	  * @Description: 物理删除箱单明细
	  * @param @param enchase
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int deletePackageDetails(CustomEnchase enchase);
	
	/**
	  * @Title: findOrderInfoByDate
	  * @Description: 通过交货日期获取订单(其他国家)
	  * @param @param enchase
	  * @param @return
	  * @return List<Order> 
	  * @throws
	  */
	public List<Order> findOrderInfoByDate(CustomEnchase enchase);
	
	/**
	  * @Title: findOrderInfoByDate
	  * @Description: 通过交货日期获取订单(ss澳大利亚)
	  * @param @param enchase
	  * @param @return
	  * @return List<Order> 
	  * @throws
	  */
	public List<Order> findOrderInfoByDateSS(CustomEnchase enchase);
	
	/**
	  * @Title: findPackageDetailById
	  * @Description: 通过id获取箱单明细表信息(其他国家)
	  * @param @param enchase
	  * @param @return
	  * @return List<Order> 
	  * @throws
	  */
	public List<Order> findPackageDetailById(CustomEnchase enchase);
	
	/**
	  * @Title: findPackageDetailById
	  * @Description: 通过id获取箱单明细表信息(ss澳大利亚)
	  * @param @param enchase
	  * @param @return
	  * @return List<Order> 
	  * @throws
	  */
	public List<Order> findPackageDetailByIdSS(CustomEnchase enchase);
	
	/**
	  * @Title: getContractInfo
	  * @Description: 获取合同信息
	  * @param @param enchase
	  * @param @return
	  * @return List<CustomEnchase> 
	  * @throws
	  */
	public List<CustomEnchase> getContractInfo(CustomEnchase enchase);
	
	/**
	  * @Title: getContractInfo
	  * @Description: 获取合同信息
	  * @param @param enchase
	  * @param @return
	  * @return List<CustomEnchase> 
	  * @throws
	  */
	public List<CustomEnchase> findEnchaseList(CustomEnchase enchase);
	/**
	  * @Title: updateHandbookPStatus
	  * @Description: 更新采购手册状态
	  * @param @param auditInfo
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int updateCustomEnchaseStatus(AuditInfo auditInfo);
	/**
	  * @Title: commitEnchase
	  * @Description: 提交装箱单
	  * @param @param enchase
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int commitEnchase(CustomEnchase enchase);
	/**
	  * @Title: updateBarCode
	  * @Description: 更新条码表信息
	  * @param @param enchase
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int updateBarCode(Order order);
}
